1
Beralih ke Visi Komputer: Mengapa CNN?
EvoClass-AI002Kuliah 4
00:00

Beralih ke Visi Komputer

Hari ini kita beralih dari menangani data struktur sederhana menggunakan lapisan linier dasar ke menghadapi data gambar berdimensi tinggi. Satu gambar warna saja sudah membawa kompleksitas signifikan yang arsitektur standar tidak mampu kelola secara efisien. Pembelajaran Mendalam untuk visi membutuhkan pendekatan khusus: Jaringan Saraf Konvolusi (CNN).

1. Mengapa Jaringan Terhubung Penuh (FCN) Gagal

Dalam FCN, setiap piksel input harus terhubung ke setiap neuron di lapisan berikutnya. Untuk gambar resolusi tinggi, hal ini menyebabkan ledakan komputasi, membuat pelatihan menjadi tidak layak dan generalisasi buruk karena overfitting ekstrem.

  • Dimensi Input:Gambar RGB standar ukuran $224 \times 224$ menghasilkan $150.528$ fitur input ($224 \times 224 \times 3$).
  • Ukuran Lapisan Tersembunyi:Jika lapisan tersembunyi pertama menggunakan 1.024 neuron.
  • Jumlah Parameter Total (Lapisan 1): $\approx 154$ million weights ($150,528 \times 1024$) just for the first connection block, requiring massive memory and compute time.
Solusi CNN
CNN menyelesaikan masalah skalabilitas FCN dengan memanfaatkan struktur spasial gambar. Mereka mengenali pola (seperti tepi atau lengkungan) menggunakan filter kecil, mengurangi jumlah parameter hingga beberapa pesanan besaran dan meningkatkan ketahanan.
comparison.py
TERMINALbash — model-env
> Siap. Klik "Jalankan" untuk menjalankan.
>
Pemeriksa Efisiensi ParameterLangsung

Jalankan perbandingan untuk melihat jumlah parameter.
Pertanyaan 1
Apa manfaat utama dari menggunakan Bidang Penerima Lokal dalam CNN?
Filter hanya fokus pada wilayah kecil dan terlokalisasi dari gambar input.
Ini memungkinkan jaringan memproses seluruh gambar secara global sekaligus.
Ini memastikan semua parameter diinisialisasi ke nol.
Ini menghilangkan kebutuhan akan fungsi aktivasi.
Pertanyaan 2
Jika filter $3 \times 3$ diterapkan di seluruh gambar, konsep inti CNN apa yang digunakan?
Normalisasi Kernel
Bobot Bersama
Konektivitas Penuh
Transposisi Fitur
Pertanyaan 3
Komponen CNN mana yang bertanggung jawab untuk secara bertahap mengurangi dimensi spasial (lebar dan tinggi) peta fitur?
Aktivasi ReLU
Lapisan Pooling (Subsampling)
Normalisasi Batch
Tantangan: Mengidentifikasi Komponen CNN Utama
Hubungkan mekanisme CNN dengan manfaat fungsionalnya.
Kita perlu membangun model visi yang sangat efisien parameter dan dapat mengenali objek meskipun sedikit bergeser posisinya dalam gambar.
Langkah 1
Mekanisme mana yang memastikan jaringan dapat mengenali fitur (seperti garis diagonal) tanpa memandang di mana letaknya dalam bingkai?
Solusi:
Bobot Bersama. Dengan menggunakan filter yang sama di semua lokasi, jaringan belajar invarian translasi.
Langkah 2
Pilihan arsitektur apa yang memungkinkan CNN mendeteksi fitur dengan jumlah parameter lebih sedikit dibandingkan FCN?
Solusi:
Bidang Penerima Lokal (atau Konektivitas Jarang). Alih-alih terhubung ke setiap piksel, setiap neuron hanya terhubung ke wilayah kecil dan terlokalisasi dari input.
Langkah 3
Bagaimana struktur CNN mengarah pada pembelajaran fitur hierarkis (misalnya, tepi $\to$ sudut $\to$ objek)?
Solusi:
Lapisan Bertumpuk. Lapisan awal belajar fitur sederhana (tepi) menggunakan konvolusi. Lapisan yang lebih dalam menggabungkan output lapisan awal untuk membentuk fitur kompleks dan abstrak (objek).